문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 행위자 모델 (문단 편집) == 개요 == Actor Model(이하 행위자 모델)은 Actor(이하 행위자)를 병행 연산(Concurrent Computing)의[* 동시 연산이라고도 부르며, 한국에서는 concurrent와 parallel 둘 다 서로 같은 사전적 의미를 지니지만 컴퓨터계에서는 병렬을 가리키는 parallel과는 엄연히 다른 의미의 연산 형태이다.] 범용적 기본 단위로 삼는 모델이다. 칼 휴잇(Carl Hewitt) 등이 MIT 인공지능 연구소와 미 해군 연구국의 지원을 받아 1973년에 작성한 논문[* [[https://github.com/papers-we-love/papers-we-love/blob/master/distributed_systems/a-universal-modular-actor-formalism-for-artificial-intelligence.pdf|Carl Hewitt, Peter Bishop, Richard Steiger (1973) - A Universal Modular ACTOR Formalism for Artificial Intelligence]]]에서 최초로 정식화한 것으로 여겨지고 있다. 행위자는 아래의 행위를 할 수 있다. * 새로운 행위자를 만든다 * 자신 혹은 다른 행위자에게 메시지를 발송한다 * 다음에 수신할 메시지에 대해 취할 행위를 정한다 행위자 모델에서 행위자들은 메시지를 주고 받을 뿐이므로, 연산 단위들간의 가변 상태 공유를 허용하는 병행 모델들의 고질적인 문제점인 교착 상태, 경쟁 상태 등의 발생 가능성이 낮다. [[Erlang]], Elixir[* Erlang VM에 기반하고 있으며 병행성에 대한 생각을 공유한다.] 그리고 [[Scala]][* 정확하게는 Scala 2.11.0 버전부터 Akka라는 별도의 프로젝트로 분리되었다] 등과 같은 프로그래밍 언어들이 행위자 모델에 기초해 병행성 기능을 제공한다. 에릭 마이어(Erik Meijer)가 묻고 칼 휴잇이 답하는 행위자 모델 [include(틀:video, src=https://sec.ch9.ms/ch9/01ad/2ca509cc-d410-4663-8679-6ece29cd01ad/LangNEXT2012HewittMeijerSzyperkiActors_high.mp4, option=fullscreen)]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기